﻿<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:me="clr-namespace:MDCAdminTool.Commands"
    xmlns:r="clr-namespace:Microsoft.Windows.Controls.Ribbon;assembly=RibbonControlsLibrary">

   <Style x:Key="TabItemFocusVisual">
      <Setter Property="Control.Template">
         <Setter.Value>
            <ControlTemplate>
               <Rectangle Stroke="Black" StrokeDashArray="1 2" StrokeThickness="1" Margin="3,3,3,1" SnapsToDevicePixels="true"/>
            </ControlTemplate>
         </Setter.Value>
      </Setter>
   </Style>
   
   <SolidColorBrush x:Key="TabControlNormalBorderBrush" Color="#8C8E94"/>
   <LinearGradientBrush x:Key="ButtonNormalBackground" EndPoint="0,1" StartPoint="0,0">
      <GradientStop Color="#F3F3F3" Offset="0"/>
      <GradientStop Color="#EBEBEB" Offset="0.5"/>
      <GradientStop Color="#DDDDDD" Offset="0.5"/>
      <GradientStop Color="#CDCDCD" Offset="1"/>
   </LinearGradientBrush>
   <LinearGradientBrush x:Key="TabItemHotBackground" EndPoint="0,1" StartPoint="0,0">
      <GradientStop Color="#EAF6FD" Offset="0.15"/>
      <GradientStop Color="#D9F0FC" Offset=".5"/>
      <GradientStop Color="#BEE6FD" Offset=".5"/>
      <GradientStop Color="#A7D9F5" Offset="1"/>
   </LinearGradientBrush>
   <SolidColorBrush x:Key="TabItemSelectedBackground" Color="#F9F9F9"/>
   <SolidColorBrush x:Key="TabItemHotBorderBrush" Color="#3C7FB1"/>
   <SolidColorBrush x:Key="TabItemDisabledBackground" Color="#F4F4F4"/>
   <SolidColorBrush x:Key="TabItemDisabledBorderBrush" Color="#FFC9C7BA"/>
   
   <Style TargetType="{x:Type TabItem}">
      <Setter Property="FocusVisualStyle" Value="{StaticResource TabItemFocusVisual}"/>
      <Setter Property="Foreground" Value="Black"/>
      <Setter Property="Padding" Value="6,1,6,1"/>
      <Setter Property="BorderBrush" Value="{StaticResource TabControlNormalBorderBrush}"/>
      <Setter Property="Background" Value="{StaticResource ButtonNormalBackground}"/>
      <Setter Property="HorizontalContentAlignment" Value="Stretch"/>
      <Setter Property="VerticalContentAlignment" Value="Stretch"/>
      <Setter Property="Template">
         <Setter.Value>
            <ControlTemplate TargetType="{x:Type TabItem}">
               <Grid SnapsToDevicePixels="true">
                  <Border x:Name="Bd" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="1,1,1,0" Padding="{TemplateBinding Padding}">
                     <ContentPresenter x:Name="Content" HorizontalAlignment="{Binding HorizontalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}" VerticalAlignment="{Binding VerticalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" ContentSource="Header" RecognizesAccessKey="True"/>
                  </Border>
               </Grid>
               <ControlTemplate.Triggers>
                  <Trigger Property="IsMouseOver" Value="true">
                     <Setter Property="Background" TargetName="Bd" Value="{StaticResource TabItemHotBackground}"/>
                  </Trigger>
                  <Trigger Property="IsSelected" Value="true">
                     <Setter Property="Panel.ZIndex" Value="1"/>
                     <Setter Property="Background" TargetName="Bd" Value="{StaticResource TabItemSelectedBackground}"/>
                  </Trigger>
                  <MultiTrigger>
                     <MultiTrigger.Conditions>
                        <Condition Property="IsSelected" Value="false"/>
                        <Condition Property="IsMouseOver" Value="true"/>
                     </MultiTrigger.Conditions>
                     <Setter Property="BorderBrush" TargetName="Bd" Value="{StaticResource TabItemHotBorderBrush}"/>
                  </MultiTrigger>
                  <Trigger Property="TabStripPlacement" Value="Bottom">
                     <Setter Property="BorderThickness" TargetName="Bd" Value="1,0,1,1"/>
                  </Trigger>
                  <Trigger Property="TabStripPlacement" Value="Left">
                     <Setter Property="BorderThickness" TargetName="Bd" Value="1,1,0,1"/>
                  </Trigger>
                  <Trigger Property="TabStripPlacement" Value="Right">
                     <Setter Property="BorderThickness" TargetName="Bd" Value="0,1,1,1"/>
                  </Trigger>
                  <MultiTrigger>
                     <MultiTrigger.Conditions>
                        <Condition Property="IsSelected" Value="true"/>
                        <Condition Property="TabStripPlacement" Value="Top"/>
                     </MultiTrigger.Conditions>
                     <Setter Property="Margin" Value="-2,-2,-2,-1"/>
                     <Setter Property="Margin" TargetName="Content" Value="0,0,0,1"/>
                  </MultiTrigger>
                  <MultiTrigger>
                     <MultiTrigger.Conditions>
                        <Condition Property="IsSelected" Value="true"/>
                        <Condition Property="TabStripPlacement" Value="Bottom"/>
                     </MultiTrigger.Conditions>
                     <Setter Property="Margin" Value="-2,-1,-2,-2"/>
                     <Setter Property="Margin" TargetName="Content" Value="0,1,0,0"/>
                  </MultiTrigger>
                  <MultiTrigger>
                     <MultiTrigger.Conditions>
                        <Condition Property="IsSelected" Value="true"/>
                        <Condition Property="TabStripPlacement" Value="Left"/>
                     </MultiTrigger.Conditions>
                     <Setter Property="Margin" Value="-2,-2,-1,-2"/>
                     <Setter Property="Margin" TargetName="Content" Value="0,0,1,0"/>
                  </MultiTrigger>
                  <MultiTrigger>
                     <MultiTrigger.Conditions>
                        <Condition Property="IsSelected" Value="true"/>
                        <Condition Property="TabStripPlacement" Value="Right"/>
                     </MultiTrigger.Conditions>
                     <Setter Property="Margin" Value="-1,-2,-2,-2"/>
                     <Setter Property="Margin" TargetName="Content" Value="1,0,0,0"/>
                  </MultiTrigger>
                  <Trigger Property="IsEnabled" Value="false">
                     <Setter Property="Background" TargetName="Bd" Value="{StaticResource TabItemDisabledBackground}"/>
                     <Setter Property="BorderBrush" TargetName="Bd" Value="{StaticResource TabItemDisabledBorderBrush}"/>
                     <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"/>
                  </Trigger>
               </ControlTemplate.Triggers>
            </ControlTemplate>
         </Setter.Value>
      </Setter>
      <Setter Property="HeaderTemplate">
         <Setter.Value>
            <DataTemplate DataType="{x:Type HeaderedContentControl}">
               <DockPanel>
                  <DockPanel.CommandBindings>
                     <me:TabClose />
                  </DockPanel.CommandBindings>
                  <Button DockPanel.Dock="Right" Command="{StaticResource TabClose}" CommandParameter="{Binding RelativeSource={ RelativeSource AncestorType={x:Type TabItem}}}" Height="12" Width="12" FontSize="6" Margin="10,0,0,0">
                     <Path 
                  Width="7" Height="7" 
                  x:Name="CheckMark"
                  SnapsToDevicePixels="False" 
                  Stroke="#444"
                  StrokeThickness="2"
                  Data="M 0 0 L 7 7 M 0 7 L 7 0" />
                  </Button>
                  <ContentControl Content="{Binding Mode=OneWay}"/>
               </DockPanel>
            </DataTemplate>
         </Setter.Value>
      </Setter>      
   </Style>

   <Style TargetType="{x:Type TreeViewItem}">
      <Setter Property="IsExpanded" Value="True"/>
   </Style>

</ResourceDictionary>